工控網首頁
>

應用設計

>

基于UG二次開發的工業機器人作業仿真系統設計

基于UG二次開發的工業機器人作業仿真系統設計

2013/9/27 13:47:39
1. 引言
      工業機器人在現代制造系統中應用廣泛。機器人作業仿真系統軟件,通過在CAD環境中進行機器人虛擬樣機的布局設計與操作仿真,能夠有效地輔助設計人員進行機器人虛擬示教、機器人工作站布局、機器人工作姿態優化,在物理工作站制造之前驗證設計的合理性,在虛擬環境中生成控制機器人作業的數控加工代碼。
       目前不少學者對工業機器人仿真進行了研究。文獻[1]基于面向對象技術研究了示教再現型弧焊機器人離線編程系統,介紹了系統總體設計方法和子模塊功能結構。文獻[2]提出了機器人運動過程的協調算法,采用插補計算的方法解決了仿真系統中機器人末端執行器的直線運動和圓弧運動。文獻[3]針對PUMA560機器人,開發了一個面向對象的離線編程和圖形仿真系統。文獻[4]提出了一種交互式三維可視化離線編程和動態仿真系統,并研究了焊接工藝中的焊道規劃技術。文獻[5]研究了離線編程系統的體系結構,介紹了工業機器人仿真軟件的功能模塊。文獻[6]論述了工業機器人仿真領域中的一種前沿技術即虛擬樣機技術,通過數字化的手段為產品設計制造提供仿真分析。文獻[7]研究了基于Matlab的焊接機器人運動學分析及仿真,運用DH方法建立了焊接機器人運動學方程,得到了機器人在不同坐標空間的各種運動參數曲線和數據。為了適應企業的設計環境,在一般CAD軟件中實現符合企業需求的工業機器人運動仿真,本文通過UG軟件的Open C API二次開發技術,構造了與UG軟件無縫集成的工業機器人作業仿真系統。

2. 仿真系統體系結構
       基于UG二次開發的工業機器人作業仿真系統采用Visual C++和UG Open C API開發。系統與UG軟件無縫集成,UG軟件作為系統的底層支撐平臺。這款軟件成功地應用于汽車門框焊接機器人的作業仿真及布局設計。系統界面如圖1所示。



基于UG二次開發的工業機器人作業仿真系統設計


1  基于UG二次開發的工業機器人作業仿真系統
       軟件系統的體系結構分為3個層次,15個子模塊。如圖2所示。人機接口層為操作人員提供了控制機器人虛擬樣機的接口;作業管理層是軟件系統的核心,用來實現人機接口層的操作命令;UG支撐層負責系統的圖形繪制,以及機器人運動和碰撞檢測在UG軟件中的實現。仿真系統有4大主要功能,即機器人運動求解與仿真、機器人運動過程碰撞檢測、機器人作業過程重用、機器人布局優化。本文著重研究機器人運動仿真及碰撞檢測的關鍵技術。

2  仿真系統的體系結構

3. 機器人運動學求解及實現
       工業機器人由若干桿件通過關節運動副裝配組成,如圖3所示。考慮到機器人基座需要由一個桿件表示,因此一個N自由度的機器人由N個關節連接了N+1個桿件。工業機器人是開鏈拓撲結構的多體系統,可以用拉格朗日多體運動學[8]描述機器人的運動行為。通常機器人學DH法則[9]用4×4的齊次矩陣來表示桿件在參考坐標系中的位置和姿態。

      與運動學正問題對應的是機器人關節坐標控制方式,即操作人員直接指定各關節的移動長度或轉動角度,從而帶動末端執行器運動。與運動學逆問題對應的是機器人直角坐標控制方式,即操作人員指定末端執行器所期望的位置和姿態,然后求解出各關節需要的移動長度或轉動角度,從而帶動末端執行器運動。

       以上是機器人作業仿真系統中作業管理層進行的機器人運動學求解。無論關節坐標控制還是直角坐標控制,UG支撐層都是通過關節運動來帶動機器人末端執行器運動的。在仿真系統開發實踐中,發現UG運動模塊難以進行二次開發,因此本文采用對UG裝配模塊的二次開發來實現機器人運動仿真,有修改裝配約束和裝配重定位兩種技術方案。
       采用修改裝配約束的方案需要事先建立合適的機器人裝配約束。如轉動關節應采用面面角度約束,移動副應采用面面距離約束。關鍵代碼如下:
//由機器人裝配模型的實例獲取原型
tRobotPart = UF_ASSEM_ask_prototype_of_occ (tRobot);
//設置當前機器人裝配模型為工作部件,并保存原始工作部件
UF_ASSEM_set_work_part_quietly (tRobotPart, &tOldWorkPart);
//創建裝配模型中轉動關節角度約束的表達式
sprintf (newExp, "%s=%lf", Joint.lh_str, Joint.dAngle);
//修改裝配約束
UF_MODL_edit_exp (newExp);
//更新模型,這樣機器人運動副就發生了轉動
UF_MODL_update ( );
//恢復原始工作部件為當前工作部件
UF_ASSEM_set_work_part_quietly (tOldWorkPart, &tRobotPart);
采用裝配重定位的方案不需要建立裝配約束,但需要指定桿件局部坐標系原點和姿態矩陣的前6個元素。關鍵代碼如下:
// Joint.tIns為桿件實例;new_origin是double[3]數組,為局部坐標系原點;new_csys_matrix是double[6]數組,為局部坐標系x軸和y軸的姿態
UF_ASSEM_reposition_instance (Joint.tIns, new_origin, new_csys_matrix);
仿真系統中機器人運動過程如圖4所示。

        圖4 兩臺六自由度焊接機器人協同運動

4. 機器人運動過程碰撞檢測及實現
       碰撞檢測可以防止機器人運動過程中與工件、夾具、機架等發生干涉。由人機接口層中的碰撞檢測開關,作業管理層中的碰撞檢測子模塊,和UG支撐層中的間隙檢查功能構成。機器人運動過程中的碰撞檢測流程如圖5所示。UG支撐層中實現間隙檢查的關鍵代碼為:
//進行間隙分析,datasetWorkpart為分析結果數據集合
UF_CLEAR_do_clearance_analysis(datasetWorkpart);
//獲得間隙分析結果,其中summary.n_all_interf中存儲了干涉數目
UF_CLEAR_ask_results(datasetWorkpart,&summary);
仿真系統中機器人碰撞檢測如圖6所示。

 

5 碰撞檢測流程

 

6 機器人碰撞檢測
5. 結論
       本文采用UG軟件的Open C API二次開發技術,構造了與UG無縫集成的工業機器人作業仿真系統。設計了包含人機接口層、作業管理層、UG支撐層的機器人作業仿真軟件體系結構。針對UG運動模塊難以進行二次開發的問題,本文通過對UG裝配模塊的二次開發來實現機器人運動仿真。機器人運動過程碰撞檢測功能則由UG間隙檢查模塊的二次開發實現。仿真軟件成功地應用于汽車門框焊接機器人的作業仿真及布局設計。
投訴建議

提交

查看更多評論
其他資訊

查看更多

超越傳統直覺,MATLAB/Simulink助力重型機械的智能化轉型

新大陸自動識別精彩亮相2024華南國際工業博覽會

派拓網絡被Forrester評為XDR領域領導者

智能工控,存儲強基 | 海康威視帶來精彩主題演講

展會|Lubeworks路博流體供料系統精彩亮相AMTS展會